package com.aims.server.domain.vo;

import lombok.Data;
import java.io.Serializable;
import java.util.List;

/**
 * 账户卡片VO（用于泳道显示，支持卡片合并）
 */
@Data
public class AccountCardVO implements Serializable {

    /**
     * 卡片ID（合并键的hash）
     */
    private String cardId;

    /**
     * 卡片标题：<开户机构简称>-<账户类型>
     */
    private String title;

    /**
     * 业务类型：1-开户，2-变更，3-销户
     */
    private Integer businessType;

    /**
     * 业务类型名称
     */
    private String businessTypeName;

    /**
     * 账户类型
     */
    private String acctType;

    /**
     * 子账户类型
     */
    private String subAcctType;

    /**
     * 开户机构
     */
    private String acctOpenBank;

    /**
     * 开户机构简称
     */
    private String acctOpenBankShort;

    /**
     * 分行
     */
    private String acctBankAddress;

    /**
     * 网点号
     */
    private String outletNo;

    /**
     * 期望完成日期
     */
    private String expectedDate;

    /**
     * 是否加急：1-是，2-否
     */
    private Integer isUrgent;

    /**
     * 账户数量（合并后的数量）
     */
    private Integer acctCount;

    /**
     * 当前环节
     */
    private String currentNode;

    /**
     * 进度代码
     */
    private String progressCode;

    /**
     * 进度名称
     */
    private String progressName;

    /**
     * 任务状态文本（准备中/审核中/已拒绝/处理中/已完成）
     */
    private String statusText;

    /**
     * 子任务清单
     */
    private List<SubTaskVO> subTasks;

    /**
     * 包含的流程实例ID列表（用于卡片详情查询）
     */
    private List<Long> processInstanceIds;

    private static final long serialVersionUID = 1L;
}